package com.homedo.odin.solution.model.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.homedo.odin.solution.model.base.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

@ApiModel(description = "方案厅方案信息")
@JsonIgnoreProperties(ignoreUnknown = true)
@Data
public class SolutionResponseBean extends BaseBean {

    /**
     * 方案编号
     */
    @ApiModelProperty("方案id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long solutionId;

    /**
     * 方案名称
     */
    @ApiModelProperty("方案名称")
    private String solutionName;

    /**
     * 方案简介
     */
    @ApiModelProperty("方案简介")
    private String description;

    /**
     * 方案配图
     */
    @ApiModelProperty("方案配图")
    private String matchPic;

    /**
     * 是否推荐(0:否 1:是)
     */
    @ApiModelProperty("是否推荐(0:否 1:是)")
    private Integer isRecommend;

    /**
     * 方案属性(1:专家方案 2:产品系统方案)
     */
    @ApiModelProperty("方案属性(1:专家方案 2:产品系统方案)")
    private Integer solutionType;
    /**
     * 状态 0:已保存 10:待专家审核 20:审核通过 21:审核驳回 30:上架中 31:下架中
     */
    @ApiModelProperty("状态 0:已保存 10:待专家审核  20:审核通过 21:审核驳回 30:上架中 31:下架中")
    private Integer status;

    @ApiModelProperty("状态")
    private String statusStr;

    /**
     * 创建日期
     */
    @ApiModelProperty("创建日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    /**
     * 浏览量
     */
    @ApiModelProperty("浏览量")
    private Integer pageView;
    /**
     * 收藏量
     */
    @ApiModelProperty("收藏量")
    private Integer collectCount;
    /**
     * 下载量
     */
    @ApiModelProperty("下载量")
    private Integer downloadCount;

    @ApiModelProperty("评论量")
    private Integer commentCount;

    @ApiModelProperty("价格")
    private BigDecimal charges;


    @ApiModelProperty("是否已收藏 0:未收藏 1:已收藏")
    private Integer isCollect;
    @ApiModelProperty("是否是我的方案:0：不是 1:是")
    private Integer isMy;

    @ApiModelProperty("是否是最新（0：false 1：true）")
    private Boolean isNew;

    @ApiModelProperty("是否允许下载 0:不允许 1:允许")
    private Integer isAdmitDownload;
    @ApiModelProperty("曝光类型 1：精品 2：普通")
    private Integer expType;

    // 新增字段
    @ApiModelProperty("方案上传者id")
    private Integer userId;

    @ApiModelProperty("公司名称")
    private String firmName;

    @ApiModelProperty("品牌图标")
    private String brandIocn;

    @ApiModelProperty("是否是热门（0：false 1：true）")
    private Boolean isHot;

}
